<?php

/*
	[UCenter] (C)2001-2099 Comsenz Inc.
	This is NOT a freeware, use is subject to license terms

	$Id: tag.php 1059 2011-03-01 07:25:09Z monkey $
*/

! defined ( 'IN_UC' ) && exit ( 'Access Denied' );

class tagmodel {
	
	var $db;
	var $base;

	function __construct(&$base) {

		$this->tagmodel ( $base );
	}

	function tagmodel(&$base) {

		$this->base = $base;
		$this->db = $base->db;
	}

	function get_tag_by_name($tagname) {

		$arr = $this->db->fetch_all ( "SELECT * FROM " . UC_DBTABLEPRE . "tags WHERE tagname='$tagname'" );
		return $arr;
	}

	function get_template($appid) {

		$result = $this->db->result_first ( "SELECT tagtemplates FROM " . UC_DBTABLEPRE . "applications WHERE appid='$appid'" );
		return $result;
	}

	function updatedata($appid , $data) {

		$appid = intval ( $appid );
		include_once UC_ROOT . 'lib/xml.class.php';
		$data = xml_unserialize ( $data );
		$this->base->load ( 'app' );
		$data [0] = addslashes ( $data [0] );
		$datanew = array ();
		if (is_array ( $data [1] )) {
			foreach ( $data [1] as $r ) {
				$datanew [] = $_ENV ['misc']->array2string ( $r );
			}
		}
		$tmp = $_ENV ['app']->get_apps ( 'type', "appid='$appid'" );
		$datanew = addslashes ( $tmp [0] ['type'] . "\t" . implode ( "\t", $datanew ) );
		if (! empty ( $data [0] )) {
			$return = $this->db->result_first ( "SELECT count(*) FROM " . UC_DBTABLEPRE . "tags WHERE tagname='$data[0]' AND appid='$appid'" );
			if ($return) {
				$this->db->query ( "UPDATE " . UC_DBTABLEPRE . "tags SET data='$datanew', expiration='" . $this->base->time . "' WHERE tagname='$data[0]' AND appid='$appid'" );
			}
			else {
				$this->db->query ( "INSERT INTO " . UC_DBTABLEPRE . "tags (tagname, appid, data, expiration) VALUES ('$data[0]', '$appid', '$datanew', '" . $this->base->time . "')" );
			}
		}
	}

	function formatcache($appid , $tagname) {

		$return = $this->db->result_first ( "SELECT count(*) FROM " . UC_DBTABLEPRE . "tags WHERE tagname='$tagname' AND appid='$appid'" );
		if ($return) {
			$this->db->query ( "UPDATE " . UC_DBTABLEPRE . "tags SET expiration='0' WHERE tagname='$tagname' AND appid='$appid'" );
		}
		else {
			$this->db->query ( "INSERT INTO " . UC_DBTABLEPRE . "tags (tagname, appid, expiration) VALUES ('$tagname', '$appid', '0')" );
		}
	}

}

?>